#!/usr/bin/python3

from tkinter import *

class Application(Frame):
    """Build the basic window frame template"""

    def __init__(self, master):
        super(Application, self).__init__(master)
        self.grid()#打开网格定位
        
        self.create_widgets()

    def create_widgets(self):
        self.label1 = Label(self, text="Please enter some text in lower case")
        self.label1.grid(row=0)
        #label方法的使用
        self.text1=Entry(self)#entry的使用，表示一个输入框.
        self.text1.grid(row=2)#位置设置
       
        self.button1 = Button(self, text='convert text', command=self.convert)
        self.button1.grid(row=3,column=0)
        
        self.button2 = Button(self, text='clear result', command=self.clear)
        self.button2.grid(row=6,column=1)
        #两个按钮的描述和位置以及时间处理函数的声明，如command=self.convert
        self.text1.focus_set()#这个很有用，可以实现输入光标的运行即定位，
        #省去运行之后再使用鼠标在输入框点击的一次.text1就是Entry产生的
    def convert(self):
        """"retrieve the text and convert to upper case"""
        varText=self.text1.get()#获取文本输入框的内容
        varReplaced=varText.upper()# 'snagshu'.upper()---'SNAGSHU'
        self.text1.delete(0,END)#删掉原来的文本
        self.text1.insert(END,varReplaced)#删除文本之后，END就表示开头了
    def clear(self):
        """clear the entry form"""
        self.text1.delete(0,END)#直接删除文本输入框的内容
        self.text1.focus_set()#删完将光标重新定位一下text1.focus_set()
        
        
root = Tk()
root.title('Test and Entry widget')
root.geometry('300x200')
app = Application(root)
app.mainloop()
